An integration layer enables architecture to move away from point-to-point integration, making applications less tightly coupled, more agile and easier to maintain. API-led connectivity is an approach that defines methods for connecting assets using reusable API building blocks. The approach is typically referred to as the “application network”. Such building blocks include but are not limited to mapping to Simple Object Access protocol (SOAP) and Representational State Transfer (REST) API services.
SOAP was designed to overcome the limitations of binary message passing over the Internet. Instead, it relies on text messages encoded as XML. It is an IETF standard that is supplemented by several other Web services standards such as WS-Atomic Transactions, WS-Reliable Messaging, WS-Security and so on. Manually creating requests and parsing responses in SOAP-XML suffers from high complexity. The advent of .NET languages hide the complexity of dealing with XML directly. However, integration platforms deal with raw protocols, forcing developers to deal with the complexities of XML and Web Service Definition Language (WSDL) which is the format for describing XML format.
REST was developed to overcome developers' objections to the difficulty of using SOAP, especially when coding in languages which many of the integration platforms are developed in, which requires creating complex XML structures over and over. Rather than relying on XML, REST relies on the use of URLs and HTTP verbs such as GET, POST, PUT and DELETE to execute data transactions. Furthermore, there is no requirement in REST for service responses to be presented in XML, format. REST is agnostic in this regard, so JSON, CSV, XML or any text format can be used enabling developers to choose a format most appropriate for the application and client device capabilities.
The replacement of SOAP services is something that is not likely to happen for most businesses. Like other legacy systems, business usually end up wrapping SOAP services with REST interfaces to make integration less complex. This poses several challenges for developers, as often SOAP services can be very large and can require thousands of lines of mapping.
Furthermore, mapping between two different interfaces whether that be SOAP or REST can require a lot of field mapping and this type of work is often tedious and open to human mistake.
There are some tools that exist to make the generation of these services in the application network easier to develop. However, there is no “one tool” that can do this, and furthermore, for some parts of the development there are no tools, and thus require hand-coding—for example, creating a JSON Schema modeled on a WSDL definition. This is a very difficult task for most developers and usually ends up being developed by hand.
Therefore, what is needed is a system or tool that obviates the above-recited problems.